using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Lzfy_His_Service.Models
{
    [Table("lzfy_account_op_logs")]
    public class AccountOpLog
    {
        [Key]
        public int Id { get; set; }
        
        [Column("input_date")]
        public DateTime? InputDate { get; set; }
        
        [Column("funcname")]
        [MaxLength(50)]
        public string? FuncName { get; set; }
        
        [Column("apiurl")]
        [MaxLength(200)]
        public string? ApiUrl { get; set; }
        
        [Column("accountid")]
        [MaxLength(50)]
        public string? AccountId { get; set; }
        
        [Column("requestbody")]
        [MaxLength(400)]
        public string? RequestBody { get; set; }
        
        [Column("responsedata")]
        [MaxLength(400)]
        public string? ResponseData { get; set; }
        
        [Column("mobile")]
        [MaxLength(50)]
        public string? Mobile { get; set; }
        
        [Column("username")]
        [MaxLength(50)]
        public string? Username { get; set; }
        
        [Column("fullname")]
        [MaxLength(50)]
        public string? Fullname { get; set; }
    }

    public class AccountOpLogCreateRequest
    {
        public string? FuncName { get; set; }
        public string? ApiUrl { get; set; }
        public string? AccountId { get; set; }
        public string? RequestBody { get; set; }
        public string? ResponseData { get; set; }
        public string? Mobile { get; set; }
        public string? Username { get; set; }
        public string? Fullname { get; set; }
    }

    public class AccountOpLogResponse
    {
        public bool Success { get; set; }
        public string? Message { get; set; }
        public int? Id { get; set; }
    }
}